//防抖函数(返回一个新函数。immediate默认不立即执行，指定时间内不会再次执行)

module.exports = function (func, delay, immediate) {
    return function () {
        clearTimeout(func.timer);
        const _this = this;
        if (immediate) {
            func.apply(_this, arguments);
            return;
        }
        func.timer = setTimeout(() => func.apply(_this, arguments), delay);
    }
}